package com.yoda.common.exception;

import com.yoda.common.Status;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 通用错误返回结果
 * @Builder 注解的作用主要是用来生成对象，并且可以为对象链式赋值。
 * @author lenovo
 * @date 2022/10/26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ErrorResult {
    private Integer errCode;
    private String errMessage;

    public static ErrorResult error() {
        return ErrorResult.builder().errCode(Status.FORBIDDEN.getCode()).errMessage("系统压力大,请稍后再试!").build();
    }

    public static ErrorResult tokenError() {
        return ErrorResult.builder().errCode(Status.FORBIDDEN.getCode()).errMessage("token已失效!").build();
    }

    public static ErrorResult dateParseError() {
        return ErrorResult.builder().errCode(Status.VERIFY_ERR.getCode()).errMessage("日期解析异常!").build();
    }

    public static ErrorResult menuError(){
        return ErrorResult.builder().errCode(Status.CREATED.getCode()).errMessage("该菜单不可删除!").build();
    }
    public static ErrorResult resourceCategoryError(){
        return ErrorResult.builder().errCode(Status.CREATED.getCode()).errMessage("该资源分类不可删除!").build();
    }

}
